/**
 * Voucher 业务逻辑
 * @author WangXinLei
 * @date 2014-09-29
 */
package com.chnbst.bstyun.service;

import java.util.List;
import java.util.Map;

import com.chnbst.bstyun.model.pojo.Voucher;
import com.chnbst.bstyun.model.vo.VoucherVo;

public interface VoucherService {
	/**
	 * 根据代金券编号查询代金券的信息
	 * @param voucherId 代金券编号
	 * @return 返回代金券对象
	 */
	Voucher selectVoucherByVoucherNum(String voucherNum);

	/**
	 * 修改代金券信息
	 * @param voucher 代金券对象
	 * @return boolean
	 */
	boolean updateVoucher(Voucher voucher);
	
	/**
	 * 根据代金券编号查询代金券的信息
	 * @param voucherNum 代金券编号
	 * @return 返回代金券对象
	 */
	Voucher selectVoucherByNum(String voucherNum);

	/**
	 * 查询代金券总数
	 * @param map
	 * @return 返回代金券总数
	 */
	int selectVouchersCount(Map<String, Object> map);

	/**
	 * 查询所有代金券的信息
	 * @param map 
	 * @return 返回代金券列表
	 */
	List<VoucherVo> selectAllVouchers(Map<String, Object> map);

	/**
	 * 新增代金券
	 * @param voucher 
	 * @return 成功 返回true  失败 返回 false
	 */
	boolean insertVoucher(Voucher voucher);

	/**
	 * 查询某代金券编号是否存在
	 * @param voucherType 
	 * @return 返回 代金券
	 */
	Voucher selectByVoucherNum(String voucherNum);
}
